package Shared;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

public interface ServMain extends Remote {

    //PROCESAMIENTO
    
    boolean iniProcesamiento() throws RemoteException;

    int getNumZonasLargo() throws RemoteException;

    int getNumZonasAlto() throws RemoteException;

    MatrizInterseccionSalida obtInterPorCoord(int xPos, int yPos) throws RemoteException;

    boolean iniHiloGenetico() throws RemoteException;

    boolean agregarSemaforo(int xCoord, int yCoord) throws RemoteException;

    boolean eliminarSemaforo(int xCoord, int yCoord) throws RemoteException;

    //LECTURA
    
    void iniciaLectura() throws RemoteException;

    double getVelocidadPromedio() throws RemoteException;

    ListObjCarZona getlistCarrosPorZona(int x, int y) throws RemoteException;

    ArrayList<ListObjCarZona> getlistCarrosTotal() throws RemoteException;
}
